The synthesis of musical notes and melodies from a stored data representation is commonly used in a variety of digital systems, such as: instrumental keyboards, toys, games, computers, and wireless communication devices. One method of digitally representing musical notes is the Musical Instrument Digital Interface (MIDI) and is a standard for communicating between keyboards, soundcards, sequencers, effects units, and many other devices, most of which are related to audio or video. A synthesizer generates musical tones in response to a MIDI file by controlling a bank of tone generators. The tone generators may be discrete oscillators or simulated electronically, often by using a digital signal processor with spectrum models for tone restitution. Another way of making synthetic music is by using samples recorded from actual instruments.
Many different types of processors are known, of which microprocessors are but one example. For example, Digital Signal Processors (DSPs) are widely used, in particular for specific applications, such as mobile processing applications. DSPs are typically configured to optimize the performance of the applications concerned and to achieve this they employ more specialized execution units and instruction sets. Particularly in applications such as mobile telecommunications, but not exclusively, it is desirable to provide ever increasing DSP performance while keeping power consumption as low as possible.
To further improve performance of a digital system, two or more processors can be interconnected. For example, a DSP may be interconnected with a general purpose processor in a digital system. The DSP performs numeric intensive signal processing algorithms while the general purpose processor manages overall control flow. The two processors communicate and transfer data for signal processing via shared memory.
Particularly in portable equipment such as wireless digital assistant devices, minimizing power consumption is important. Accordingly, there is needed a system and method for synthesizing quality musical tones that is computationally efficient.